package com.meituan.sdk.model.wmoperNg.foodop.foodInitdata;

import com.meituan.sdk.annotations.ApiMeta;
import java.util.List;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 创建或更新菜品（新版）
* This file was automatically generated.
*/
@ApiMeta(
    path = "/wmoper/ng/foodop/food/initdata",
    businessId = 16,
    apiVersion = "10039",
    apiName = "food_initdata",
    needAuth = true
)
public class FoodInitdataRequest implements MeituanRequest<String> {
    /**
    * 服务商方的菜品id，(三方商品spu_code值， 不同门店可以重复，同一门店内不能重复)，最大长度128
    */
    @NotBlank(message = "appFoodCode不能为空")
    @SerializedName("app_food_code")
    private String appFoodCode;
    /**
    * 菜品名称，最多不超过30个字符
    */
    @NotBlank(message = "name不能为空")
    @SerializedName("name")
    private String name;
    /**
    * 菜品描述，最多不超过255个字符
    */
    @SerializedName("description")
    private String description;
    /**
    * 服务商方的菜品skus，代表菜品下的多个sku信息，使用json格式传递参数。如果skus传递box_num、box_price以skus为准，未传递box_num、box_price以上级参数为准。如果skus未传，会重置菜品的skus信息
    */
    @SerializedName("skus")
    private List<Skus> skus;
    /**
    * 菜品价格，不能为负数
    */
    @SerializedName("price")
    private Float price;
    /**
    * 最小购买量，最小为1
    */
    @SerializedName("min_order_count")
    private Integer minOrderCount;
    /**
    * 单位
    */
    @SerializedName("unit")
    private String unit;
    /**
    * 打包盒数量
    */
    @SerializedName("box_num")
    private Float boxNum;
    /**
    * 打包盒价格，不能为负数
    */
    @SerializedName("box_price")
    private Float boxPrice;
    /**
    * 菜品分类
    */
    @SerializedName("category_name")
    private String categoryName;
    /**
    * 菜品上下架状态，0表上架，1表下架
    */
    @SerializedName("is_sold_out")
    private Integer isSoldOut;
    /**
    * 菜品图片id（注意：①此处的图片id由步骤1上传图片获得②更新菜品图片时必须更新图片URL），只支持jpg格式，图片需要小于1600*1200
    */
    @SerializedName("picture")
    private String picture;
    /**
    * 当前分类下的排序序号
    */
    @SerializedName("sequence")
    private Integer sequence;
    /**
    * <p data-diff-id="ct-diff-id-77f85761-3263-4752-a610-dfd2cbaa6fda"><font style="font-size:14px;line-height:22px" data-size="14">spu售卖属性，spuAttr与skuAttr中的属性数量相同且属性内容相同（mode=2)</font></p><p data-diff-id="ct-diff-id-82fab0e4-a3ae-4136-8104-f94b1a340871"><font style="font-size:14px;line-height:22px" data-size="14">该字段为JSON String，具体字段如下：</font></p><p data-diff-id="ct-diff-id-5102b872-10ed-4b84-ae04-84a52a97e2ad"></p><table data-borderwidth="1" data-diff-id="ct-diff-id-633e10ca-4f48-446b-ba1a-407d02628f62"><tbody><tr data-row-diff-id="ct-tr-diff-id-303df795-ccf8-424c-889f-0ff0c339c8a0"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-1070c52f-5424-4cf1-886c-5a066d6743e2"><p data-diff-id="ct-diff-id-7ea140ae-3a16-42d4-91c1-d07a7415bf92"><font style="font-size:14px;line-height:22px" data-size="14">参数名称，（名称前的“-”，代表层级关系，非参数本身）</font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-39f46398-9219-4b41-88ae-da586cd8372b"><p data-diff-id="ct-diff-id-42a829fc-705f-4200-afa5-9fa9a521f878"><font style="font-size:14px;line-height:22px" data-size="14">类型</font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-190dfabe-f121-4b9a-8fa2-3911a8cb7551"><p data-diff-id="ct-diff-id-08d49250-ec19-468f-a1f9-02fd10b8d708">示例值</p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-075959ef-0058-402b-bbed-3e6d59fde13b"><p data-diff-id="ct-diff-id-90721354-f23e-40fe-9997-228cd88867ad"><font style="font-size:14px;line-height:22px" data-size="14">描述</font></p></td></tr><tr data-row-diff-id="ct-tr-diff-id-778ed63d-2810-4d08-861b-88cc7ffdd2ad"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-bd0cefe6-b9ef-44f0-a95f-222c0cbb8881"><p data-diff-id="ct-diff-id-348a4116-99fa-44db-8c40-91c79b4a49da"><font style="font-size:14px;line-height:22px" data-size="14">-no</font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-c1f868a8-9756-44db-9809-c0cb367cd269"><p data-diff-id="ct-diff-id-7fe89dcc-52cf-405a-8304-3c9f2645124a"><font style="font-size:14px;line-height:22px" data-size="14">int</font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-1893e876-a6c3-46e8-bc73-306e099ab452"><p data-diff-id="ct-diff-id-6caf0ad9-5f75-4f00-bef2-a92b5735086d"><font style="font-size:14px;line-height:22px" data-size="14">0</font></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-210c502f-bf8d-48e7-874d-97d7cefd6c86"><p data-diff-id="ct-diff-id-4bbe3a97-9a64-411e-90de-2bb909fd2312"><font style="font-size:14px;line-height:22px" data-size="14">属性编号；例：温度(1)，口味(2)等</font></p><p data-diff-id="ct-diff-id-134712ff-c377-404a-83aa-b95384b3c7c2"><font style="font-size:14px;line-height:22px" data-size="14">no必须从大于等于1开始且no在name相同时候，no必须相同</font></p></td></tr><tr data-row-diff-id="ct-tr-diff-id-2b21fcf1-02f3-4a8e-a4b8-997e83aca65e"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-b0decd42-1bba-403f-95fa-8350d0cfbea9"><p data-diff-id="ct-diff-id-c662ee2b-1ced-42be-b30d-5d735882b84c"><font style="font-size:14px;line-height:22px" data-size="14">-mode</font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-3f6c3dcb-19e9-4bcd-9345-26f2b8417782"><p data-diff-id="ct-diff-id-46704e8a-36f9-4dcc-918f-0c0095470dc3"><font style="font-size:14px;line-height:22px" data-size="14">int</font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-76e00131-aae8-4dc3-9abd-c6424c06db4c"><p data-diff-id="ct-diff-id-05c1da3e-e758-403d-b68c-c93cb2a8e968"><font style="font-size:14px;line-height:22px" data-size="14">2</font></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-d9c62d50-7520-48fe-b31f-705e2164619f"><p data-diff-id="ct-diff-id-0f95f3ee-30ed-473f-8c76-0dd223666495"><font style="font-size:14px;line-height:22px" data-size="14">售卖属性模式，1：普通售卖属性，2：决定价格库存的售卖属性</font></p></td></tr><tr data-row-diff-id="ct-tr-diff-id-3e3995d8-fd3c-4360-ac9c-9946bdc8fb0c"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-cca25643-8535-4b42-ab17-f9f9734cb953"><p data-diff-id="ct-diff-id-54f30ab9-b9a4-47b3-bc01-a860dc72d5a1"><font style="font-size:14px;line-height:22px" data-size="14">-name</font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-e554a217-ac6d-41a7-8702-e82800a5d234"><p data-diff-id="ct-diff-id-79009cc4-99e5-49ff-9ca6-27d0cde0dd2f"><font style="font-size:14px;line-height:22px" data-size="14">string</font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-8984c1ea-deca-48c7-b8e7-38e6dc1fc5fe"><p data-diff-id="ct-diff-id-16cfe4fa-9ac5-4513-8021-b13a900430fa"><font style="font-size:14px;line-height:22px" data-size="14">冷热</font></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-dd632897-8d80-4e11-96e1-db3b80b3e56a"><p data-diff-id="ct-diff-id-c882d4c2-d831-4d60-bca3-00eafc0be0bd"><font style="font-size:14px;line-height:22px" data-size="14">名称 example="冷热"</font></p><p data-diff-id="ct-diff-id-0549112f-58a5-4954-a722-c6b619d11f31"><font style="font-size:14px;line-height:22px" data-size="14">name长度不能大于10</font></p></td></tr><tr data-row-diff-id="ct-tr-diff-id-d4c9f474-0cc6-4af8-b237-8128784aefe7"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-8c10f070-e513-40ff-8a36-081a1e7d0d28"><p data-diff-id="ct-diff-id-4e7ea3fe-7df4-445c-82c1-6bdc18ec6a04"><font style="font-size:14px;line-height:22px" data-size="14">-value</font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-d71c8319-a1f8-4756-8d3c-5ad00b1491d7"><p data-diff-id="ct-diff-id-c77edfc3-dcdc-49dd-b600-4e818f8344fd"><font style="font-size:14px;line-height:22px" data-size="14">string</font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-7afc02df-b987-463e-a0fb-10195698cf20"><p data-diff-id="ct-diff-id-6ec947a4-0a0e-410b-9a4a-4eaf9823e7f3"><font style="font-size:14px;line-height:22px" data-size="14">热</font></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-db25dbf5-84e8-4ac3-a599-1e6e68797f1b"><p data-diff-id="ct-diff-id-f0d1b023-5f70-4eb2-9c7a-46bff3162bfe"><font style="font-size:14px;line-height:22px" data-size="14">名称值, example="冷"</font></p><p data-diff-id="ct-diff-id-f2fee0fc-e417-43ad-b91b-99dfa578b5ed"><font style="font-size:14px;line-height:22px" data-size="14">value长度不能大于10</font></p></td></tr><tr data-row-diff-id="ct-tr-diff-id-73072fba-9998-43c4-9ee6-629def0a8fe3"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-d4413d5f-afce-4fa3-a37b-a64f1c613d2e"><p data-diff-id="ct-diff-id-9c6d68d8-caea-4926-a378-94d7cbd75a2b"><font style="font-size:14px;line-height:22px" data-size="14">-price</font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-50d54790-d7cc-4f26-96e0-2fc418eeb05a"><p data-diff-id="ct-diff-id-26f3cd12-d7de-4c33-848f-e92a32565fa9"><font style="font-size:14px;line-height:22px" data-size="14">double</font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-cdec9a43-fa57-423a-a4ba-7c256d9051b0"><p data-diff-id="ct-diff-id-b022ccef-4216-4324-b0fc-1d0184a1f7b0"><font style="font-size:14px;line-height:22px" data-size="14">1.11</font></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-b1036921-0c0b-4fcf-bbeb-ab93aea2bf08"><p data-diff-id="ct-diff-id-97a75deb-65d5-4c4e-b522-0200734e4cbd"><font style="font-size:14px;line-height:22px" data-size="14">属性价格</font></p><p data-diff-id="ct-diff-id-5a6d4a9e-221c-48dd-aa88-5e60cf093c55"><font style="font-size:14px;line-height:22px" data-size="14">price小数点后最多两位</font></p><p data-diff-id="ct-diff-id-18fbe13c-01ba-4b32-94d0-378fbdedce06"><font style="font-size:14px;line-height:22px" data-size="14">符合要求示例：</font></p><p data-diff-id="ct-diff-id-eb00a0da-ec9a-4f04-9775-977c05945a45"><font style="font-size:14px;line-height:22px" data-size="14">1.整数</font></p><p data-diff-id="ct-diff-id-7da371e1-eea3-4c28-810c-0afb8b8b6879"><font style="font-size:14px;line-height:22px" data-size="14">2.小数点后一位</font></p><p data-diff-id="ct-diff-id-f2b7b661-cb1b-4601-b1c1-bb2988e0f328"><font style="font-size:14px;line-height:22px" data-size="14">3.小数点后两位</font></p></td></tr><tr data-row-diff-id="ct-tr-diff-id-99a24394-0347-4661-8ff5-725a4b16e445"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-87b2611f-e5e3-4275-9fa1-c69b951ae21d"><p data-diff-id="ct-diff-id-60a553d2-ea42-4758-89c1-f95b200e32ff"><font style="font-size:14px;line-height:22px" data-size="14">-sell_status</font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-a60338a3-0bcd-483f-888b-6ef39a0d57f6"><p data-diff-id="ct-diff-id-105255cb-e175-4b39-aea0-cf38ad98f39a"><font style="font-size:14px;line-height:22px" data-size="14">int</font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-c9494f90-7541-48b9-ba18-bc52dcb8fd20"><p data-diff-id="ct-diff-id-54894d01-1a31-4f5c-8747-63b6c578798c"><font style="font-size:14px;line-height:22px" data-size="14">0</font></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-3d85de1c-6f0e-4aa2-91f1-b77c11fbfe73"><p data-diff-id="ct-diff-id-26f02519-2912-4509-9bb8-165dbd3f7b85"><font style="font-size:14px;line-height:22px" data-size="14">售卖状态</font></p></td></tr><tr data-row-diff-id="ct-tr-diff-id-6150cac0-84fe-4a02-8988-28fc0f9b3f0d"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-b3c3f0a1-8a16-42ba-af76-4a4d9993e834"><p data-diff-id="ct-diff-id-525b786b-bffe-490d-bc67-21be87b1096e"><font style="font-size:14px;line-height:22px" data-size="14">-value_sequence</font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-c2db26e3-bb3b-49c7-98b0-69362b84da51"><p data-diff-id="ct-diff-id-64b62736-816d-4bf3-96b2-ef32b35ef94f"><font style="font-size:14px;line-height:22px" data-size="14">int</font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-31888bf3-a91f-4e6b-b6b1-ab16c3b55eeb"><p data-diff-id="ct-diff-id-5cb3a1b9-0cb2-4754-827c-c62b1813db6a"><font style="font-size:14px;line-height:22px" data-size="14">0</font></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-2ce648ef-9c0a-4438-9031-403e50bd857d"><p data-diff-id="ct-diff-id-4d2af601-7424-4e4b-84b1-2381a7e8775f"><font style="font-size:14px;line-height:22px" data-size="14">属性值排序序号,1开始</font></p><p data-diff-id="ct-diff-id-9d375f24-4132-4f0b-b6b5-0559f4b288bc"><font style="font-size:14px;line-height:22px" data-size="14">value_sequence必须从大于等于1开始且value_sequence在name相同时，value_sequence必须不同</font></p></td></tr><tr data-row-diff-id="ct-tr-diff-id-3dcb7b6a-c3c6-41ba-a8e6-d421c8ef7d22"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-b5c90979-99fa-4d19-a65a-52f9f9562915"><p data-diff-id="ct-diff-id-53a05535-9cdd-4de7-8b38-55035b975e3c"><font style="font-size:14px;line-height:22px" data-size="14"><span style="color: ">-exclude_attr</span></font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-6fbc1540-3d8f-49d8-846f-41a0b74be7bb"><p data-diff-id="ct-diff-id-f299d0a9-1ad1-4117-bdea-f57f28a7c3c0"><font style="font-size:14px;line-height:22px" data-size="14"><span style="color: ">list</span></font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-cf5af65f-2831-4e51-a78e-8303019a7721"><p data-diff-id="ct-diff-id-39557cbb-862f-4528-96cc-27031bc681ac">"exclude_attr":[{"attr_name":"冷热", attr_values:["冷","热"]},{}]</p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-cf8a383f-0bbe-46a8-a95d-05720c23f732"><p data-diff-id="ct-diff-id-bb4136b3-8dec-4363-90bc-9192cf67b7ca">标识与该属性互斥的属性。</p><p data-diff-id="ct-diff-id-ae99dde7-e09c-4c06-81f8-e7461727dda1">1、空时为null，表示没有互斥属性。</p><p data-diff-id="ct-diff-id-aa65960c-a860-461a-893f-8f0b15d97656">2、属性互斥设置时必须是进行双向互斥。若属性值a与属性值b互斥，需在属性a的参数中传互斥属性为b，也需在属性b的参数中传互斥属性为a。</p><p data-diff-id="ct-diff-id-bfd58c7c-7538-4ea6-8533-cea093a0bf53">3、属性互斥设置时需保证至少有一个可售卖的sku，不能所有sku均互斥，如不符合规则将会按spu创建失败处理。</p><p data-diff-id="ct-diff-id-0d7f3b1b-bfea-4627-b018-0c770c4c8bed">4、属性互斥设置时需保证单个属性值与其他项下至少一个属性值不互斥，如不符合规则将会按spu创建失败处理。</p><p data-diff-id="ct-diff-id-211d3568-e42c-4259-a4ea-fa7fb1da9787">5、规格格式举例：</p><p data-diff-id="ct-diff-id-12765f2d-037e-4642-9e35-91394c49ae2a">属性项：属性值（p0:p01）</p><p data-diff-id="ct-diff-id-e858c231-b53a-43c5-ba23-d1638aafb7bb">属性项：属性值（p1:pv11）</p><p data-diff-id="ct-diff-id-756af37a-5904-4176-8302-215b2d884d8d">当p01与pv11互斥时：</p><p data-diff-id="ct-diff-id-b0a8d605-c5a0-4cee-8a0f-836a01942b07">p0属性的exclude_attr: [{"attr_name":"p1", "attr_values":["pv11"]}]</p><p data-diff-id="ct-diff-id-2ed9c296-7606-4043-9ecf-9d5306154545">p1属性的exclude_attr: [{"attr_name":"p0", "attr_values":["p01"]}]</p><p data-diff-id="ct-diff-id-2f7ca905-da6e-4d5d-ad4b-09af2d229155">当与多个属性互斥时：</p><p data-diff-id="ct-diff-id-cec389ce-353b-4216-be72-48048f1b8d52">某属性的exclude_attr :  [{"attr_name":"p1", "attr_values":["pv11","pv12"]}, {"attr_name":"p2", "attr_values":["pv21","pv22"]}]</p></td></tr><tr data-row-diff-id="ct-tr-diff-id-15a8e6e0-0419-4deb-bde5-cc25f92c0a9a"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-d8ba14ec-f10c-464a-b938-8db2292a9855"><p data-diff-id="ct-diff-id-4960e00d-f365-472c-a1f1-4fdc41a918f0"><font style="font-size:14px;line-height:22px" data-size="14"><span style="color: ">--attr_name</span></font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-51c668ad-8292-4a1a-8aa4-0e56b50d9053"><p data-diff-id="ct-diff-id-6efe7a5c-0173-452d-994a-4bff3047813c"><font style="font-size:14px;line-height:22px" data-size="14"><span style="color: ">string</span></font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-ac8042dc-9a27-4f67-82e7-618279b6f0e3"><p data-diff-id="ct-diff-id-0a211370-31a5-45a4-81a3-6e266c4de8c8"><em><font style="font-size:14px;line-height:22px" data-size="14"><span style="color: ">冷热</span></font></em></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-a3e5fe62-5f93-4ac2-bb2c-7975f25364f3"><p data-diff-id="ct-diff-id-23dd1e9c-bcc4-4489-9048-8c72b918100a">互斥属性名称</p></td></tr><tr data-row-diff-id="ct-tr-diff-id-e7074467-dfab-4666-8c47-a749f1a5fead"><td data-colwidth="180" width="180" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-ffcd17fb-6771-4f58-8f07-380db178b60d"><p data-diff-id="ct-diff-id-b84aa961-7dd8-446b-9730-20434c396a11"><font style="font-size:14px;line-height:22px" data-size="14"><span style="color: ">--attr_values</span></font></p></td><td data-colwidth="89" width="89" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-e5b1aad2-4f86-40c8-96cd-1ac9dd457161"><p data-diff-id="ct-diff-id-59702a22-25fa-425b-9b6d-5f9070cf4af1"><font style="font-size:14px;line-height:22px" data-size="14"><span style="color: ">list&lt;string&gt;</span></font></p></td><td data-colwidth="260" width="260" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-aeb3afa5-3a69-4dd1-8a48-7eded2a5456b"><p data-diff-id="ct-diff-id-8d78a1e3-2e3e-441e-8116-b6d9e7e804cc"><font style="font-size:14px;line-height:22px" data-size="14"><span style="color: ">["冷","热"]</span></font></p></td><td data-colwidth="331" width="331" style="background-color: rgb(255, 255, 255);vertical-align:top;" data-cell-diff-id="ct-cell-diff-id-d1ab6fa9-8ef6-4151-982e-30df7de778e7"><p data-diff-id="ct-diff-id-c5754221-33ce-48cd-8f6c-7bdd9c5b2251">互斥属性值</p></td></tr><tr data-row-diff-id="ct-tr-diff-id-7c0a7279-c0a4-47a1-b035-58efc33a3540"><td data-colwidth="180" width="180" data-cell-diff-id="ct-cell-diff-id-b91433c1-19b5-4bdd-80af-96a0c222e4d5"><p data-diff-id="ct-diff-id-324be44d-e032-4b28-b712-49de49700162">-defaultSelect</p></td><td data-colwidth="89" width="89" data-cell-diff-id="ct-cell-diff-id-83a3f26a-5af1-4250-9481-a47094a8d959"><p data-diff-id="ct-diff-id-16367ca6-9954-4d5e-a5b6-cc1245cc542f">int</p></td><td data-colwidth="260" width="260" data-cell-diff-id="ct-cell-diff-id-3754bb10-a7d0-4797-a35a-60fa38c13057"><p data-diff-id="ct-diff-id-262cc6b1-4d64-47e7-9295-ddfb3dd608be">0</p></td><td data-colwidth="331" width="331" data-cell-diff-id="ct-cell-diff-id-f5aa3a3c-f7e8-4050-9bae-9e1a233184d9"><p data-diff-id="ct-diff-id-c5946652-525a-45d3-84db-229d6f09ac16">是否默认选中，不传此字段为非默认选中</p><p data-diff-id="ct-diff-id-be91408b-3526-467d-8915-ef1dd8816305">传值时，0：非默认选中，1：默认选中</p></td></tr></tbody></table><p data-diff-id="ct-diff-id-8055db8c-aa0f-4326-bfed-1ddee4f7d2df"></p>
    */
    @SerializedName("spuAttr")
    private String spuAttr;
    /**
    * <p>true：该单品仅在套餐里售卖，不单独售卖</p><p>false：默认值，在套餐和单品都可售</p>
    */
    @SerializedName("onlySellInCombo")
    private Boolean onlySellInCombo;
    /**
    * <p data-diff-id="ct-diff-id-bcbb5878-d3da-4e95-a3c5-8a4ed6b6374f">英文逗号分隔不同图片链接</p><p data-diff-id="ct-diff-id-74c39f4d-3269-437a-984c-decc09824f9c">不同图片没有no排序，C端按照逗号分隔后的顺序展示</p>
    */
    @SerializedName("longPictures")
    private String longPictures;
    /**
    * <p data-diff-id="ct-diff-id-e349c317-df33-46a3-91d3-62ff34c2c2ce">单品关联的小料组code</p>
    */
    @SerializedName("toppingGroups")
    private List<OpenToppingGroup> toppingGroups;
    @SerializedName("dnaInfo")
    private DnaInfo dnaInfo;

    public String getAppFoodCode() {
        return appFoodCode;
    }
    public void setAppFoodCode(String appFoodCode) {
        this.appFoodCode = appFoodCode;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public List<Skus> getSkus() {
        return skus;
    }
    public void setSkus(List<Skus> skus) {
        this.skus = skus;
    }
    public Float getPrice() {
        return price;
    }
    public void setPrice(Float price) {
        this.price = price;
    }
    public Integer getMinOrderCount() {
        return minOrderCount;
    }
    public void setMinOrderCount(Integer minOrderCount) {
        this.minOrderCount = minOrderCount;
    }
    public String getUnit() {
        return unit;
    }
    public void setUnit(String unit) {
        this.unit = unit;
    }
    public Float getBoxNum() {
        return boxNum;
    }
    public void setBoxNum(Float boxNum) {
        this.boxNum = boxNum;
    }
    public Float getBoxPrice() {
        return boxPrice;
    }
    public void setBoxPrice(Float boxPrice) {
        this.boxPrice = boxPrice;
    }
    public String getCategoryName() {
        return categoryName;
    }
    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }
    public Integer getIsSoldOut() {
        return isSoldOut;
    }
    public void setIsSoldOut(Integer isSoldOut) {
        this.isSoldOut = isSoldOut;
    }
    public String getPicture() {
        return picture;
    }
    public void setPicture(String picture) {
        this.picture = picture;
    }
    public Integer getSequence() {
        return sequence;
    }
    public void setSequence(Integer sequence) {
        this.sequence = sequence;
    }
    public String getSpuAttr() {
        return spuAttr;
    }
    public void setSpuAttr(String spuAttr) {
        this.spuAttr = spuAttr;
    }
    public Boolean getOnlySellInCombo() {
        return onlySellInCombo;
    }
    public void setOnlySellInCombo(Boolean onlySellInCombo) {
        this.onlySellInCombo = onlySellInCombo;
    }
    public String getLongPictures() {
        return longPictures;
    }
    public void setLongPictures(String longPictures) {
        this.longPictures = longPictures;
    }
    public List<OpenToppingGroup> getToppingGroups() {
        return toppingGroups;
    }
    public void setToppingGroups(List<OpenToppingGroup> toppingGroups) {
        this.toppingGroups = toppingGroups;
    }
    public DnaInfo getDnaInfo() {
        return dnaInfo;
    }
    public void setDnaInfo(DnaInfo dnaInfo) {
        this.dnaInfo = dnaInfo;
    }


    @Override
    public MeituanResponse<String> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<String>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "FoodInitdataRequest{" + "appFoodCode=" + appFoodCode + "," + "name=" + name + "," + "description=" + description + "," + "skus=" + skus + "," + "price=" + price + "," + "minOrderCount=" + minOrderCount + "," + "unit=" + unit + "," + "boxNum=" + boxNum + "," + "boxPrice=" + boxPrice + "," + "categoryName=" + categoryName + "," + "isSoldOut=" + isSoldOut + "," + "picture=" + picture + "," + "sequence=" + sequence + "," + "spuAttr=" + spuAttr + "," + "onlySellInCombo=" + onlySellInCombo + "," + "longPictures=" + longPictures + "," + "toppingGroups=" + toppingGroups + "," + "dnaInfo=" + dnaInfo + "}";
    }
}
